import React from 'react';
import {
  View, Text, Button,
} from 'react-native';
import PropTypes from 'prop-types';

const createReactClass = require('create-react-class');

/**
 * createReactClass 可能会被弃用
 * React.createClass的每一个函数和JS中的一样,可以使用一下两种方式
render(){}    正常的函数模式
render:function(){}  别名模式 匿名函数
每一个函数的最后要加上  逗号“，”
 */
const MyComponent = createReactClass({
  // 默认值
  getDefaultProps() {
    return {
      name: 'Mary',
    };
  },
  PropTypes: {
    name: PropTypes.string,
  },
  // 初始化 State
  getInitialState() {
    return {
      message: 'Hello!',
    };
  },
  handleClick() {
    this.setState({ message: 'Hello333' });
    console.log('handleClick this:', this);
  },
  render() {
    return (
      <View>
        <Text>CreateReactClass</Text>
        <Text>{this.props.name}</Text>
        <Button
          title={`Say ${this.state.message}`}
          onPress={this.handleClick}
        />
      </View>
    );
  },
});

export default MyComponent;
